package com.todo.biz.application.remote;

import com.todo.common.common.entity.response.BizResponse;
import com.todo.sight.service.api.response.SightDetailResponse;
import com.todo.sight.service.api.response.SightInfoResponse;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2025/2/26 22:06
 * @description
 */
@FeignClient(name = "todoSightService", url = "http://localhost:18002")
public interface SightInfoRemoteService {

    @Operation(summary = "根据景点Id查询景点详情")
    @PostMapping("/api/sightInfo/querySightDetailById")
    BizResponse<SightDetailResponse> querySightDetailById(@RequestBody Long sightId);

    @Operation(summary = "根据PoiId查询景点详情")
    @PostMapping("/api/sightInfo/querySightDetailByPoiId")
    BizResponse<SightDetailResponse> querySightDetailByPoiId(@RequestBody Long poiId);

    @Operation(summary = "根据poiIdList查询景点详情")
    @PostMapping("/api/sightInfo/querySightInfoByPoiIdList")
    BizResponse<List<SightInfoResponse>> querySightInfoByPoiIdList(@RequestBody List<Long> poiIdList);

    @Operation(summary = "根据sightIdList查询景点详情")
    @PostMapping("/api/sightInfo/querySightInfoByIdList")
    BizResponse<List<SightInfoResponse>> querySightInfoByIdList(@RequestBody List<Long> sightIdList);
}
